package cn.oppexecise;

import java.io.*;

/**
 * @author SWJ
 * @create 2021-06-17 10:20
 * 测试字符流的读取
 */
public class TestIn {
    public static void main(String[] args) {
//        method();
        //普通字符输入流
        method2();
        //高效字符输入流
    }

    private static void method2() {
        //测试高效
        /**1.创建流对象 2.使用流对象3.关闭流对象*/
        Reader in = null;
        try {
            //1.创建高效字符流对象
            in = new BufferedReader(new FileReader("D:\\read\\1.txt"));
            //2.使用流对象
            int c;
            while ((c = in.read()) != -1) {
                System.out.println(c);
                /**打印的是abc的ASCII码
                 *97
                 * 115
                 * 100 */
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            //关闭流对象
            try {
                in.close();
            } catch (IOException e) {
                e.printStackTrace();
            }

        }
    }

    private static void method() {
        //测试普通
//创建流对象
//        Reader in =new Reader() ;报错原因，抽象父类不可以实例化
        //父类引用指向子类对象
        //1.创建一个本方法都生效的局部变量，注意初始化null
        Reader in = null;
        try {
            //2.in =new FileReader(new File("D:\\read\\1.txt"));

            in = new FileReader(new File("D:\\read\\1.txt"));
            //需求：循环读取文件所有的内容
            int b;
            while ((b = in.read()) != -1) {
                /**在while循环中，在这个b输入流in的数据
                 * 如果不等于 输出-1*/
                System.out.println(b);
                /**打印的是abc的ASCII码
                 *97
                 * 115
                 * 100 */
            }

        } catch (Exception e) {
            e.printStackTrace();
        } finally {

            //3.关流+
            try {
                in.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    }
}